import {isNull} from "@/utils/validate.js";

const statusStyles = {
    '起草中': '',
    '审核中': 'warning',
    '签订中': 'danger',
    '履行中': 'primary',
    '归档中': 'success',
    '已归档': 'success',
    '已废弃': 'info'
}

export const getTagType = (status) => {
    return statusStyles[status] || 'info'
}

/**
 * 返回格式化的金额
 * @param value 数值
 * @param digits 保留的小数位数，默认保留两位
 * @returns {string} 返回保存小数的格式化金额
 */
const formatAmount = (value, digits=2) => {
    if (isNull(value)) {
        return '￥0.00'
    }
    value = parseInt(value)
    // 保留小数位数
    const formattedValue = value.toFixed(digits)
    //千分位之间以逗号分隔
    return `￥${formattedValue}`.replace(/\B(?=(\d{3})+(?!\d))/g, ',')
}

export const formatAmountForTable = (row, column, cellValue, index) => {
    return formatAmount(cellValue)
}

export const formatAmountForInput = (value) => {
    return formatAmount(value)
}